package com.blrs.domain;

import java.util.Date;
import com.blrs.common.annotation.Excel;
import com.blrs.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 项目策划对象 project_planning
 * 
 * @author ruoyi
 * @date 2024-05-15
 */
public class ProjectPlanning extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 策划ID，使用UUID作为主键，确保唯一性，用于唯一标识每个策划记录 */
    private String planningId;

    /** 关联的项目ID，外键关联project表，建立策划记录与项目的关联关系 */
    @Excel(name = "项目ID")
    private String projectId;

    /** 审核状态 */
    @Excel(name = "审核状态", readConverterExp = "0=未审核,1=已审核,2=已驳回")
    private String auditState;

    /** 是否删除 */
    private String delFlag;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date operateTime;

    /** 操作人id */
    private Long operateId;

    /** 操作人姓名 */
    private String operateName;

    /** 组织机构id */
    private Long organizationId;

    /** 组织机构名称 */
    private String organizationName;

    /** 创建人id */
    private Long creationId;

    /** 创建人姓名 */
    private String creationName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    // getter和setter方法
    public String getPlanningId() {
        return planningId;
    }

    public void setPlanningId(String planningId) {
        this.planningId = planningId;
    }

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public String getAuditState() {
        return auditState;
    }

    public void setAuditState(String auditState) {
        this.auditState = auditState;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public Date getOperateTime() {
        return operateTime;
    }

    public void setOperateTime(Date operateTime) {
        this.operateTime = operateTime;
    }

    public Long getOperateId() {
        return operateId;
    }

    public void setOperateId(Long operateId) {
        this.operateId = operateId;
    }

    public String getOperateName() {
        return operateName;
    }

    public void setOperateName(String operateName) {
        this.operateName = operateName;
    }

    public Long getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(Long organizationId) {
        this.organizationId = organizationId;
    }

    public String getOrganizationName() {
        return organizationName;
    }

    public void setOrganizationName(String organizationName) {
        this.organizationName = organizationName;
    }

    public Long getCreationId() {
        return creationId;
    }

    public void setCreationId(Long creationId) {
        this.creationId = creationId;
    }

    public String getCreationName() {
        return creationName;
    }

    public void setCreationName(String creationName) {
        this.creationName = creationName;
    }

    public Date getCreationTime() {
        return creationTime;
    }

    public void setCreationTime(Date creationTime) {
        this.creationTime = creationTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("planningId", getPlanningId())
            .append("projectId", getProjectId())
            .append("auditState", getAuditState())
            .append("delFlag", getDelFlag())
            .append("operateTime", getOperateTime())
            .append("operateId", getOperateId())
            .append("operateName", getOperateName())
            .append("organizationId", getOrganizationId())
            .append("organizationName", getOrganizationName())
            .append("creationId", getCreationId())
            .append("creationName", getCreationName())
            .append("creationTime", getCreationTime())
            .toString();
    }
} 